import sys

sys.setrecursionlimit(10000000)


if __name__ == '__main__':
    n = int(input())
    s = input()
    s = s.split(' ')
    arr = []
    for i in range(n):
        arr.append(int(s[i]))
    dict1 = {} #记录arr[i]的下标
    for i in range(n):
        dict1[arr[i]] = i
    ans = 0
    for i in range(n): 
        key1 = i+1 #希望给i+1的位置归正
        index1 = dict1[key1] #i+1在arr中的实际下标是index1
        if index1 != i: #i是应该正确的下标
            key2 = arr[i] #当前这个位置上存的是什么，key1应该在arr[i]的位置上，先暂存一下
            index2 = dict1[key2] #index2是key2实际存在的下标
            arr[index2] = key1
            arr[index1] = key2
            dict1[key1] = index2 #更新哈希表
            dict1[key2] = index1
            ans += 1
    print(ans)

# dict1
# 3->0
# 1->1
# 2->2
# key1 = 1,实际应该存储在下标0位置上的数
# index1 = 1 ，是key1在arr中实际的下标
# key2 = 3，是当前arr中索引i处存储的值 
# index2 = 0 ,是key2这个元素，在arr中实际的下标